package org.lanqiao.tjut.service;

import java.util.List;

import org.lanqiao.tjut.bean.ClassBean;
import org.lanqiao.tjut.bean.SchClassBean;
import org.lanqiao.tjut.bean.ScoreBean;
import org.lanqiao.tjut.bean.StudentBean;
import org.lanqiao.tjut.bean.TeacherBean;
import org.lanqiao.tjut.dao.DaoFactory;

public class SelectClassManagerService {

	/**
	 * 保存教师选择的课程
	 * 
	 * @param clazz
	 *            课程对象
	 * @return 保存结果记录行数
	 */
	public int SavaClassT(ClassBean clazz) {

		return DaoFactory.getSelectClassManagerDaoInstance().SavaClassT(clazz);

	}

	/**
	 * 学生退选课程
	 * 
	 * @param score
	 *            成绩表对象
	 * @return 修改记录行数
	 */
	public int deleteStuClass(ScoreBean score) {

		return DaoFactory.getSelectClassManagerDaoInstance().deleteStuClass(score);
	}

	/**
	 * 保存管理员添加的课程
	 * 
	 * @param SclassBean
	 *            课程对象
	 * @return 保存结果记录行数
	 */
	public int SaveClass(SchClassBean SclassBean) {

		return DaoFactory.getSelectClassManagerDaoInstance().SaveClass(SclassBean);
	}

	/**
	 * 查询学校课程
	 * 
	 * @return 查询结果集合
	 */
	public List<SchClassBean> getAllClass() {

		return DaoFactory.getSelectClassManagerDaoInstance().getAllClass();

	}

	/**
	 * 查询学校课程
	 * 
	 * @return 查询结果集合
	 */
	public List<SchClassBean> TeaSelectClass(TeacherBean teaBean) {

		return DaoFactory.getSelectClassManagerDaoInstance().TeaSelectClass(teaBean);
	}

	/**
	 * 查询学生未选的所有课程
	 * 
	 * @param stuBean
	 *            学生对象
	 * @return 查询结果集合
	 */
	public List<ClassBean> StuSelectClass(StudentBean stuBean) {

		return DaoFactory.getSelectClassManagerDaoInstance().StuSelectClass(stuBean);
	}

	/**
	 * 根据课程Num获取课程对象
	 * 
	 * @param strUid
	 *            课程Num
	 * @return 课程对象
	 */
	public SchClassBean getClassByNum(String strUid) {

		return DaoFactory.getSelectClassManagerDaoInstance().getClassByNum(strUid);
	}

	/**
	 * 根据课程Num删除该课程信息
	 * 
	 * @param userId
	 *            课程Num
	 * @return 修改记录的行数
	 */
	public int deleteClass(int userId) {

		return DaoFactory.getSelectClassManagerDaoInstance().deleteClass(userId);
	}

	/**
	 * 查询已开课程信息(模糊查询)
	 * 
	 * @param scClassB
	 *            课程对象
	 * @return 查询的课程信息
	 */
	public List<SchClassBean> getQueryClassInfo(SchClassBean scClassB) {

		return DaoFactory.getSelectClassManagerDaoInstance().getQueryClassInfo(scClassB);
	}

	/**
	 * 根据老师名从课程表中查出该老师选了哪些课程
	 * 
	 * @param clazz
	 *            课程表对象
	 * @return 该老师已选课程集合
	 */
	public List<ClassBean> QueryClassByTeaname(ClassBean clazz) {

		return DaoFactory.getSelectClassManagerDaoInstance().QueryClassByTeaname(clazz);

	}

	/**
	 * 根据学生名从成绩表中查出该学生选了哪些课程
	 * 
	 * @param clazz
	 *            成绩表对象
	 * @return 该学生已选课程集合
	 */
	public List<ScoreBean> QueryClassByStuname(ScoreBean clazz) {

		return DaoFactory.getSelectClassManagerDaoInstance().QueryClassByStuname(clazz);

	}

	/**
	 * 在成绩保存学生选的的课程
	 * 
	 * @param clazz
	 *            课程对象
	 * @return 保存结果记录行数
	 */
	public int SavaClassS(ScoreBean score) {

		return DaoFactory.getSelectClassManagerDaoInstance().SavaClassS(score);

	}

	/**
	 * 获取教师所选的所有课程
	 *
	 * @param clazz
	 *            课程对象
	 * @return 所有课程集合
	 */
	public List<ClassBean> getAllClassInfo(ClassBean clazz) {

		return DaoFactory.getSelectClassManagerDaoInstance().getAllClassInfo(clazz);

	}

	/**
	 * 获取学生所选的所有课程
	 * 
	 * @param clazz
	 *            课程对象
	 * @return 所有课程集合
	 */
	public List<ScoreBean> getStuAllClassInfo(ScoreBean score) {

		return DaoFactory.getSelectClassManagerDaoInstance().getStuAllClassInfo(score);

	}

	/**
	 * 通过课程名获取成绩表中学生对象
	 * 
	 * @param strUid
	 *            课程名
	 * @return 对象
	 */
	public List<ScoreBean> getStuInfoByClassName(String strUid,String teaname) {

		return DaoFactory.getSelectClassManagerDaoInstance().getStuInfoByClassName(strUid,teaname);
	}

	/**
	 * 通过课程名获取成绩表中学生对象
	 * 
	 * @param strUid
	 *            课程名
	 * @return 对象
	 */
	public ScoreBean getStuInfoByStuName(String strUid, String classname) {

		return DaoFactory.getSelectClassManagerDaoInstance().getStuInfoByStuName(strUid, classname);
	}

	/**
	 * 修改成绩表中学生成绩
	 * 
	 * @param txtscores
	 *            参数字符串
	 * @return 修改记录的行数
	 */
	public int[] updateModStuScore(String txtscores) {

		return DaoFactory.getSelectClassManagerDaoInstance().updateStuScore(txtscores);
	}

}
